import request from '../utils/request';

/**
 * 图片相关API
 */
const imageApi = {
  /**
   * 获取图片列表
   * @param {Object} params - 查询参数
   * @param {number} [params.page=1] - 页码
   * @param {number} [params.pageSize=12] - 每页条数
   * @param {number} [params.categoryId] - 分类ID
   * @param {string} [params.keyword] - 搜索关键词
   * @param {string} [params.sortBy] - 排序字段 (uploadDate/size/name)
   * @returns {Promise} - 图片列表结果
   */
  getImages: async (params = {}) => {
    try {
      const response = await request.get('/admin/images', { params });
      return response;
    } catch (error) {
      console.error('获取图片列表失败:', error);
      throw error;
    }
  },
  

  
  /**
   * 上传图片
   * @param {FormData} formData - 包含图片文件和其他信息的FormData
   * @returns {Promise} - 上传结果
   */
  uploadImage: async (formData) => {
    try {
      const response = await request.post('/admin/images/upload', formData, {
        headers: {
          'Content-Type': 'multipart/form-data'
        }
      });
      return response;
    } catch (error) {
      console.error('上传图片失败:', error);
      throw error;
    }
  },
  

  
  /**
   * 删除图片
   * @param {number|string} id - 图片ID
   * @returns {Promise} - 删除结果
   */
  deleteImage: async (id) => {
    try {
      const response = await request.delete(`/admin/images/${id}`);
      return response;
    } catch (error) {
      console.error('删除图片失败:', error);
      throw error;
    }
  },
  
  /**
   * 批量删除图片
   * @param {Array<number|string>} ids - 图片ID列表
   * @returns {Promise} - 删除结果
   */
  batchDeleteImages: async (ids) => {
    try {
      const response = await request.delete('/admin/images/batch', { data: { ids } });
      return response;
    } catch (error) {
      console.error('批量删除图片失败:', error);
      throw error;
    }
  },
  

};

export default imageApi;
export { imageApi };